#ifndef T_KEYFRAME_TABLEVIEWMODEL_H
#define T_KEYFRAME_TABLEVIEWMODEL_H

#include <QAbstractTableModel>
#include <QPixmap>
#include <QString>
#include <QStringList>
#include <QList>


class T_KeyFrameTableViewModel : public QAbstractTableModel
{
    Q_OBJECT

public:

    struct KeyFrameItem {
        QPixmap thumbnail;    // 关键帧缩略图（建议尺寸 160x90）
        QString timestamp;   // 时间戳 "00:01:23.456"
        QString analysis;     // 分析说明文本
    };

    void appendData(const KeyFrameItem& item);
    // 可选：如果需要清空数据，也可以增加 clearData() 方法
    void clearData();

    explicit T_KeyFrameTableViewModel(QObject* parent = nullptr);
    ~T_KeyFrameTableViewModel();

    // 核心表格方法
    int rowCount(const QModelIndex& parent = QModelIndex()) const override;
    int columnCount(const QModelIndex& parent = QModelIndex()) const override;
    QVariant data(const QModelIndex& index, int role) const override;
    QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override;

private:
    QList<KeyFrameItem> m_data;     // 数据存储
    QStringList m_headers;          // 表头 ["关键帧", "分析"]
};

#endif // T_KEYFRAME_TABLEVIEWMODEL_H
